/**
 * <pre>
 * Title: 		IteratorConfig.java
 * Project: 	AnteAgent
 * Type:		com.hengpeng.util.scheduling.IteratorConfig
 * Author:		linriqing
 * Create:	 	2007-1-18 10:26:03
 * Copyright: 	Copyright (c) 2007
 * Company:
 * <pre>
 */
package com.hengpeng.common.scheduling;

import com.hengpeng.common.configuration.Config;

/**
 * <pre>
 * 任务调度时间迭代器类型
 * </pre>
 * @author linriqing
 * @version 1.0, 2007-1-18
 */
public class TimeIterator extends Config
{
	private static final long serialVersionUID = 8953707202953540242L;

	/**
	 * 日
	 */
	private int day = 1;

	/**
	 * 每天调度的时间点集合
	 */
	private String[] daytimes = new String[] { "00:00:00" };

	/**
	 * 重复间隔
	 */
	private int interval = 1000;

	/**
	 * 月
	 */
	private int month = 0;

	/**
	 * 重复迭代方式
	 */
	private int repeatMode = 7;

	/**
	 * 每周需要调度的天数集合
	 */
	private int[] weekdays = new int[] { 1, 2, 3, 4, 5, 6, 7 };

	/**
	 * 每月需要调度的天数集合
	 */
	private int[] monthdays = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
			22, 23, 24, 25, 26, 27, 28, 29, 30, 31 };

	/**
	 * 年
	 */
	private int year = 1970;

	/**
	 * 构造函数
	 */
	public TimeIterator()
	{
		super();
	}

	/**
	 * @return 日
	 */
	public int getDay()
	{
		return day;
	}

	/**
	 * @return 每天调度的时间点集合
	 */
	public String[] getDaytimes()
	{
		return daytimes;
	}

	/**
	 * @return 重复间隔
	 */
	public int getInterval()
	{
		return interval;
	}

	/**
	 * @return 月
	 */
	public int getMonth()
	{
		return month;
	}

	/**
	 * @return 重复迭代方式
	 */
	public int getRepeatMode()
	{
		return repeatMode;
	}

	/**
	 * @return 每周需要调度的天数集合
	 */
	public int[] getWeekdays()
	{
		return weekdays;
	}

	/**
	 * @return 年
	 */
	public int getYear()
	{
		return year;
	}

	/**
	 * @param day 日
	 */
	public void setDay(int day)
	{
		this.day = day;
	}

	/**
	 * @param times 每天调度的时间点集合
	 */
	public void setDaytimes(String[] times)
	{
		this.daytimes = times;
	}

	/**
	 * @param repeatInterval 重复间隔
	 */
	public void setInterval(int repeatInterval)
	{
		this.interval = repeatInterval;
	}

	/**
	 * @param month 月
	 */
	public void setMonth(int month)
	{
		this.month = month;
	}

	/**
	 * @param repeatMode 重复迭代方式
	 */
	public void setRepeatMode(int repeatMode)
	{
		this.repeatMode = repeatMode;
	}

	/**
	 * @param weekDay 每周需要调度的天数集合
	 */
	public void setWeekdays(int[] weekDay)
	{
		this.weekdays = weekDay;
	}

	public int[] getMonthdays()
	{
		return monthdays;
	}

	public void setMonthdays(int[] monthdays)
	{
		this.monthdays = monthdays;
	}

	/**
	 * @param year 年
	 */
	public void setYear(int year)
	{
		this.year = year;
	}
}
